using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using Beetle;

internal class ak
{
	internal static RSACryptoServiceProvider a;

	private static string m_b;

	private static string m_c;

	private static string d;

	private static StreamReader e;

	static ak()
	{
		ak.a = null;
		ak.a = (RSACryptoServiceProvider)TcpUtils.b();
	}

	public static bool a(string A_0, string A_1)
	{
		return a(Encoding.UTF8.GetBytes(A_0), Convert.FromBase64String(A_1));
	}

	public static bool a(byte[] A_0, byte[] A_1)
	{
		return ak.a.VerifyData(A_0, "MD5", A_1);
	}

	private static void c()
	{
		d = TcpUtils.h() + ak.m_b;
	}

	private static void b()
	{
		e = new StreamReader(d);
	}

	public static k a()
	{
		k k2 = new k();
		try
		{
			ab.b(out ak.m_b);
			ab.a(out ak.m_c);
			c();
			b();
			using (e)
			{
				ab.a(k2, e.ReadToEnd());
			}
		}
		catch (Exception)
		{
		}
		y.c = k2.a;
		return k2;
	}
}
